Limitations and considerations
You should be aware of the following limitations and considerations when using Google Cloud SQL for PostgreSQL as a source:
- The database name cannot include a semi-colon (;).
- Capturing changes while the database is in Hot Standby mode is not supported.
- Replication of multiple tables with the same name but a different case (e.g. table1, TABLE1 and Table1) may cause unpredictable behavior and is therefore not supported.
- The PostgreSQL read replica (in a High Availability environment) is supported from PostgreSQL 16 only.
- Change processing of TRUNCATE operations is not supported.
- Deferred Constraints are not supported.
-
Unique Indexes with CASE expressions are not supported.
-
REPLICA IDENTITY support:
-
If FULL is used, before-image values will be replicated for all table columns. Only when using this mode is it possible to redefine the target index.
-
If DEFAULT is used, replication is supported only when a table contains a Primary key. Additionally, only before-images of Primary Key columns will be replicated.
-
USING INDEX is supported only when the specified Unique Index is the only unique constraint for the table (meaning that the table does not have a Primary Key or another Unique Index). In this case, it is supported exactly the same as the DEFAULT value described above.
-
As Replicate does not verify the REPLICA IDENTITY value, make sure you define the correct value.
-
- The “Start Process Changes from Timestamp” run option is not supported.
-
Change processing of [CREATE | ALTER | DROP] table DDLs are supported unless they are held in an inner function/procedure body block or in other nested constructs.
For example, the following change will not be captured:
CREATE OR REPLACE FUNCTION attu.create_distributors1() RETURNS void
LANGUAGE plpgsql
AS $$
BEGIN
create table attu.distributors1(did serial PRIMARY KEY,name varchar(40) NOT NULL);
END;
$$;
-
When Support partitioned tables in CDC is enabled in the Advanced tab, the following DDLs are not supported:
- Drop partition
- Detach partition
- Attach partition - with data
- An UPDATE operation that involves two partitions (moving a record between partitions) will be applied to the target using DELETE and INSERT operations.
-
When using the Parallel Load feature, table segmentation according to partitions or sub-partitions is not supported.
- When using filters that do not contain a Primary Key, DELETE operations will not be captured.
-
When capturing changes to source tables, a RENAME TABLE operation will be captured only if it is preceded by a DML operation.
-
PostGIS data types are not supported.
-
Forced failover is a feature of Azure Database for PostgreSQL – Flexible Server. If forced failover occurs when replicating data from Azure Database for PostgreSQL – Flexible Server, the task will stop and will need to be reloaded.
-
The SQL MERGE command introduced in PostgreSQL 15.x has not been certified.
-
The AR_H_USER header column is not supported.